package com.wang.java.basic.framework.queue;

import java.util.concurrent.ConcurrentLinkedQueue;

/**
 * 并发链表队列
 * 数据结构：链表
 * 线程安全：是，基于CAS实现
 * 队列长度：无界
 * 阻塞性：非阻塞
 */
public class ConcurrentLinkedQueueTest {
    public static void main(String[] args) {
        ConcurrentLinkedQueue<String> concurrentLinkedQueue = new ConcurrentLinkedQueue<>();
        // offer线程
        new Thread(() -> {
            for (int i = 0; i < 10; i++) {
                concurrentLinkedQueue.offer(i + "");
            }
        }).start();
        new Thread(() -> {
            while(true){
                String message = concurrentLinkedQueue.poll();
                if(message != null){
                    System.out.println("poll：" + message);
                }
            }

        }).start();
    }
}
